package com.tarena.lbs.business.pojo.po;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import com.baomidou.mybatisplus.annotation.*;
import java.io.Serializable;
import java.util.Date;

// 添加Elasticsearch相关注解导入
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("lbs_store") // 指定对应的数据库表名
@Document(indexName = "lbs_store") // Elasticsearch索引名称
public class StorePO implements Serializable {

    // 主键ID，类型为自动增长
    @TableId(value = "id", type = IdType.AUTO) // 指定主键字段和增长策略
    @Field(type = FieldType.Integer)
    private Integer id; // 自增ID

    // 映射字段business_id
    @TableField("business_id")
    @Field(type = FieldType.Integer)
    private Integer businessId; // 商家id

    // 映射字段store_name
    @TableField("store_name")
    @Field(type = FieldType.Text)
    private String storeName; // 门店名称

    // 映射字段store_phone
    @TableField("store_phone")
    @Field(type = FieldType.Keyword)
    private String storePhone; // 门店电话

    // 映射字段store_head_name
    @TableField("store_head_name")
    @Field(type = FieldType.Text)
    private String storeHeadName; // 负责人姓名

    // 映射字段store_head_phone
    @TableField("store_head_phone")
    @Field(type = FieldType.Keyword)
    private String storeHeadPhone; // 负责人电话

    // 映射字段store_location
    @TableField("store_location")
    @Field(type = FieldType.Text)
    private String storeLocation; // 详细地址

    // 映射字段store_longitude
    @TableField("store_longitude")
    @Field(type = FieldType.Keyword)
    private String storeLongitude; // 门店经度

    // 映射字段store_latitude
    @TableField("store_latitude")
    @Field(type = FieldType.Keyword)
    private String storeLatitude; // 门店纬度

    // 映射字段store_images_id
    @TableField("store_images_id")
    @Field(type = FieldType.Keyword)
    private String storeImagesId; // 门店图片id

    // 映射字段store_logo
    @TableField("store_logo")
    @Field(type = FieldType.Keyword)
    private String storeLogo; // 门店logo

    // 映射字段store_introduction
    @TableField("store_introduction")
    @Field(type = FieldType.Text)
    private String storeIntroduction; // 门店简介

    // 映射字段sort
    @TableField("sort")
    @Field(type = FieldType.Integer)
    private Integer sort; // 排序

    // 映射字段trade_time
    @TableField("trade_time")
    @Field(type = FieldType.Keyword)
    private String tradeTime; // 营业时间

    // 映射字段store_status
    @TableField("store_status")
    @Field(type = FieldType.Integer)
    private Integer storeStatus; // 门店状态（是否启用）0 启用  -1禁用

    // 映射字段create_time
    @TableField("create_time")
    @Field(type = FieldType.Date)
    private Date createTime; // 创建时间

    // 映射字段update_time
    @TableField("update_time")
    @Field(type = FieldType.Date)
    private Date updateTime; // 更新时间

    // 映射字段province_id
    @TableField("province_id")
    @Field(type = FieldType.Integer)
    private Integer provinceId; // 所属省级名称

    // 映射字段city_id
    @TableField("city_id")
    @Field(type = FieldType.Integer)
    private Integer cityId; // 所属市级名称

    // 映射字段area_id
    @TableField("area_id")
    @Field(type = FieldType.Integer)
    private Integer areaId; // 所属区级名称

}